The present invention relates to load distribution inside a storage system.
Generally speaking, storage system applications are diverse. For example, during the day, a storage system can be used in a transaction process, and at night, it can be used in a backup process. When the type of process for which it is being used differs, the characteristics of the input/output (I/O) from an outer device (e.g. higher-level device) to the storage system will differ. For example, in a transaction process, a large number of I/O requests are received per unit of time, but in a backup process, the number of I/O requests received per unit of time is less than that for a transaction process.
When I/O characteristics differ, the type of resource subjected to heightened load inside the storage system differs. Since a high-load resource constitutes a performance bottleneck, the performance of the storage system (hereinafter, may be called “system performance”) is restricted. Here, for example, “system performance” refers to IOPS (number of I/O requests received from an outer device per second) and/or length of response time (the length of time from the issuing of an I/O request by an outer device until the outer device receives a response to this I/O request from the storage system).
For example, in Japanese Patent Laid-open No. 2004-178169, hereinafter referred to as literature 1, there is proposed a system, which evaluates the performance of the respective resources of a storage system, and presents a user with a performance bottleneck.
The elimination of a performance bottleneck is important for enhancing the performance of a storage system. In general, elimination of a performance bottleneck signifies augmenting the resource that constitutes the performance bottleneck. For example, when a storage device becomes a performance bottleneck, measures are taken to increase the number of storage devices.
However, as described hereinabove, if I/O characteristics differ, the type of resource likely to become a performance bottleneck will differ. Thus, it is necessary to construct a large configuration so as to respectively augment the types of resources that are likely to become performance bottlenecks for each respective I/O characteristic pattern, and to prevent a performance bottleneck from occurring no matter what the I/O characteristic pattern. Since augmenting a resource is generally costly, the configuration described above would constitute a high-cost system. It is also wasteful since an augmented resource is not utilized unless a performance bottleneck occurs.